<%-- 
    Document   : CON_CIERRE_MENSUAL
    Created on : 16-oct-2014, 11:14:06
    Author     : equipo_2
--%>

<%@page import="java.util.StringTokenizer"%>
<%@page import="java.util.GregorianCalendar"%>
<%@page import="java.util.Calendar"%>
<%@page import="java.util.Date"%>
<%@page import="CONTABILIDAD_MODELO.CON_MONEDA"%>
<%@page import="CONTABILIDAD_MODELO.CON_AJUSTE_REDONDEO"%>
<%@page import="CONTABILIDAD_MODELO.CON_FECHA_CIERRE"%>
<%@page import="CONTABILIDAD_MODELO.CON_CIERRE"%>
<%@page import="Modelo.SIS_ACCEDIDOS"%>
<%@page import="Conexion.Conexion"%>
<%@page import="RRHH_Modelo.RHH_USUARIO"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>BROKER</title>
        <link href="../css/NuevoStilo.css" rel="stylesheet" type="text/css"/>
        <script src="../login/js/jquery-1.8.2.min.js" type="text/javascript"></script>
        <script src="../js/jquery-ui.js" type="text/javascript"></script>
        <script src="../js/jquery.ui.touch-punch.js" type="text/javascript"></script>
    </head>
    <body>
        <div id="CuerpoFormulario">
            <h1 id="tituloFormulario">CIERRE MENSUAL</h1>
            <div style="text-align: center; margin-top: -30px;">                
                <%
                    RHH_USUARIO usuario = ((RHH_USUARIO)request.getSession().getAttribute("usr"));                     
                    Conexion con = new Conexion(usuario.getUSUARIO(), usuario.getPASSWORD());
                    SIS_ACCEDIDOS accedido = new SIS_ACCEDIDOS("CONTABILIDAD/CON_CIERRE_MENSUAL.jsp", usuario.getID(), "NIVELES");
                    accedido.setCon(con);
                    accedido.Insertar();
                    
                    CON_FECHA_CIERRE fecha = new CON_FECHA_CIERRE();
                    fecha.setCon(con);                                        
                                        
                    int mes=fecha.mesActual();
                    int ano=fecha.anoActual();
                    
                    
                    CON_CIERRE cierre = new CON_CIERRE();
                    cierre.setCon(con);
                    
                    int total_cantidad =0;
                    int total_transacciones =0;
                    double total_debe =0;
                    double total_haber =0;
                    
                    CON_MONEDA moneda = new CON_MONEDA();
                    moneda.setCon(con);
                    moneda = moneda.getMonedaBase(1);
                    
                    double tc = moneda.getTIPO_DE_CAMBIO_VENTA();
                    CON_AJUSTE_REDONDEO red = new CON_AJUSTE_REDONDEO();
                %>
                <span id="periodo" type="text" class="subTituloSubContenedor"><%out.print("Periodo actual: "+fecha.getMes(mes)+"/"+ano);%></span>
            </div>
            <span class="subTituloSubContenedor">
                COMPROBANTE
            </span>
            <table id="comprobanteCierre" class="tablaCierre" >
                <thead>
                    <th class="normal">TIPO</th>
                    <th class="chico">CANT.</th>
                    <th class="chico">TRANS.</th>
                    <th class="normal">DEBE</th>
                    <th class="normal">HABER</th>
                    <th class="normal">DEBE</th>
                    <th class="normal">HABER</th>
                </thead>
                <tbody>
                <tr>
                    <td class="negrilla">INGRESO:</td>
                    <td class="negrilla centrado"><%
                    int cantidad = cierre.getCantidadxTipo(0.0,mes, ano);
                    out.print(cantidad);
                    total_cantidad +=cantidad;
                    %></td>
                    <td class="negrilla centrado"><%
                    int cantidadt = cierre.getTransaccionesxTipo(0.0,mes, ano);
                    out.print(cantidadt);
                    total_transacciones +=cantidadt;
                    cierre.generarCalculoDEBE_HABER(0.0, mes, ano);
                    %></td>
                    <td class="negrilla centrado"><%
                    double cantidaddebe = cierre.getCalculoDEBE();
                    out.print(cantidaddebe);
                    total_debe +=cantidaddebe;
                    %></td>
                    <td class="negrilla centrado"><%
                    double cantidadhaber = cierre.getCalculoHABER();
                    out.print(cantidadhaber);
                    total_haber +=cantidadhaber;
                    %></td>
                    <td class="negrilla centrado"><%out.print(red.truncarDecimal((cantidaddebe/tc)));%></td>
                    <td class="negrilla centrado"><%out.print(red.truncarDecimal((cantidadhaber/tc)));%></td>
                </tr>
                <tr>
                    <td class="negrilla centrado" >EGRESO:</td>
                    <td class="negrilla centrado"><%
                    cantidad = cierre.getCantidadxTipo(1.0,mes, ano);
                    out.print(cantidad);
                    total_cantidad +=cantidad;
                    cierre.generarCalculoDEBE_HABER(1.0, mes, ano);
                    %></td>
                    <td class="negrilla centrado"><%
                    cantidadt = cierre.getTransaccionesxTipo(1.0,mes, ano);
                    out.print(cantidadt);
                    total_transacciones +=cantidadt;
                    %></td>
                    <td class="negrilla centrado"><%
                    cantidaddebe = cierre.getCalculoDEBE();
                    out.print(cantidaddebe);
                    total_debe +=cantidaddebe;
                    %></td>
                    <td class="negrilla centrado"><%
                    cantidadhaber = cierre.getCalculoHABER();
                    out.print(cantidadhaber);
                    total_haber +=cantidadhaber;
                    %></td>
                    <td class="negrilla centrado"><%out.print(red.truncarDecimal((cantidaddebe/tc)));%></td>
                    <td class="negrilla centrado"><%out.print(red.truncarDecimal((cantidadhaber/tc)));%></td>
                </tr>
                <tr>
                    <td class="negrilla centrado" >TRASPASO:</td>
                    <td class="negrilla centrado"><%
                    cantidad = cierre.getCantidadxTipo(2.0,mes, ano);
                    out.print(cantidad);
                    total_cantidad +=cantidad;
                    %></td>
                    <td class="negrilla centrado"><%
                    cantidadt = cierre.getTransaccionesxTipo(2.0,mes, ano);
                    out.print(cantidadt);
                    total_transacciones +=cantidadt;
                    cierre.generarCalculoDEBE_HABER(2.0, mes, ano);
                    %></td>
                    <td class="negrilla centrado"><%
                    cantidaddebe = cierre.getCalculoDEBE();
                    out.print(cantidaddebe);
                    total_debe +=cantidaddebe;
                    %></td>
                    <td class="negrilla centrado"><%
                    cantidadhaber = cierre.getCalculoHABER();
                    out.print(cantidadhaber);
                    total_haber +=cantidadhaber;
                    %></td>
                    <td class="negrilla centrado"><%out.print(red.truncarDecimal((cantidaddebe/tc)));%></td>
                    <td class="negrilla centrado"><%out.print(red.truncarDecimal((cantidadhaber/tc)));%></td>
                </tr>
                </tbody>
                <tfoot>
                <td class="negrilla " style="color: blue; text-align: right;">TOTAL:</td>
                    <td class="negrilla centrado" style="color: blue;"><%out.print(total_cantidad);%></td>
                    <td class="negrilla centrado" style="color: blue;"><%out.print(total_transacciones);%></td>
                    <td class="negrilla centrado" style="color: blue;" id="total_debe"><%                    
                    out.print(red.truncarDecimal(total_debe));
                    %></td>
                    <td class="negrilla centrado" style="color: blue;" id="total_haber"><%
                    out.print(red.truncarDecimal(total_haber));
                    %></td>
                    <td class="negrilla centrado"><%out.print(red.truncarDecimal((total_debe/tc)));%></td>
                    <td class="negrilla centrado"><%out.print(red.truncarDecimal((total_haber/tc)));%></td>
                </tfoot>
            </table>
            
            <span class="subTituloSubContenedor">
                Cuentas
            </span>
            
            <table id="cuentasCierres" class="tablaCierre">
                <tr>
                    <td class="negrilla " colspan="2">ACTIVO</td>
                    <td class="negrilla " colspan="2">INGRESO</td>
                    <td class="negrilla " colspan="2">ORDEN DEUDORA</td>
                </tr>
                <tr>
                    <%
                        Double activo = cierre.getCalculoTIPO("ACTIVO",mes, ano);
                        Double activotrunk = red.truncarDecimal((activo));
                        Double activo_dolar = red.truncarDecimal((activo/tc));
                        if(activo>0)
                        {
                            out.print("<td class='negrilla centrado rojo'>"+activotrunk+"</td>");
                            out.print("<td class='negrilla centrado rojo'>"+activo_dolar+"</td>");
                        }
                        else
                        {
                            if(activo==0)
                            {
                                out.print("<td class='negrilla centrado verde'>"+activotrunk+"</td>");
                                out.print("<td class='negrilla centrado verde'>"+activo_dolar+"</td>");
                            }
                            else{
                                out.print("<td class='negrilla centrado verde'>"+activotrunk*-1+"</td>");
                                out.print("<td class='negrilla centrado verde'>"+activo_dolar*-1+"</td>");
                            }
                        }
                        
                        Double ingreso = cierre.getCalculoTIPO("INGRESOS",mes, ano);
                        Double ingresorunk = red.truncarDecimal((ingreso));
                        Double ingreso_dolar = red.truncarDecimal((ingreso/tc));
                        if(ingreso>=0)
                        {
                            out.print("<td class='negrilla centrado verde'>"+ingresorunk+"</td>");
                            out.print("<td class='negrilla centrado verde'>"+ingreso_dolar+"</td>");
                        }
                        else
                        {
                            out.print("<td class='negrilla centrado rojo'>"+ingresorunk*-1+"</td>");
                            out.print("<td class='negrilla centrado rojo'>"+ingreso_dolar*-1+"</td>");
                        }
                        
                        Double orden_deu = cierre.getCalculoTIPO("CUENTAS DE ORDEN DEUDORAS",mes, ano);
                        Double orden_deu_trunk = red.truncarDecimal((orden_deu));
                        Double orden_deu_dolar = red.truncarDecimal((orden_deu/tc));
                        if(orden_deu>=0)
                        {
                            out.print("<td class='negrilla centrado verde'>"+orden_deu_trunk+"</td>");
                            out.print("<td class='negrilla centrado verde'>"+orden_deu_dolar+"</td>");
                        }
                        else
                        {
                            out.print("<td class='negrilla centrado rojo'>"+orden_deu_trunk*-1+"</td>");
                            out.print("<td class='negrilla centrado rojo'>"+orden_deu_dolar*-1+"</td>");
                        }
                    %>
                </tr>
                <tr>
                    <td class="negrilla" colspan="2">PASIVO</td>
                    <td class="negrilla" colspan="2">EGRESO</td>
                    <td class="negrilla" colspan="2">ORDEN ACREEDORA</td>
                </tr>
                <tr>
                    <%
                         Double pasivo = cierre.getCalculoTIPO("PASIVO",mes, ano);
                        Double pasivotrunk = red.truncarDecimal((pasivo));
                        Double pasivo_dolar = red.truncarDecimal((pasivo/tc));
                        if(pasivo>=0)
                        {
                            out.print("<td class='negrilla centrado verde'>"+pasivotrunk+"</td>");
                            out.print("<td class='negrilla centrado verde'>"+pasivo_dolar+"</td>");
                        }
                        else
                        {
                            out.print("<td class='negrilla centrado rojo'>"+pasivotrunk*-1+"</td>");
                            out.print("<td class='negrilla centrado rojo'>"+pasivo_dolar*-1+"</td>");
                        }
                        
                        Double egreso = cierre.getCalculoTIPO("EGRESOS",mes, ano);
                        Double egresotrunk = red.truncarDecimal((egreso));
                        Double egreso_dolar = red.truncarDecimal((egreso/tc));
                        if(egreso>=0)
                        {
                            out.print("<td class='negrilla centrado verde'>"+egresotrunk+"</td>");
                            out.print("<td class='negrilla centrado verde'>"+egreso_dolar+"</td>");
                        }
                        else
                        {
                            out.print("<td class='negrilla centrado rojo'>"+egresotrunk*-1+"</td>");
                            out.print("<td class='negrilla centrado rojo'>"+egreso_dolar*-1+"</td>");
                        }
                        
                        Double orden_acree = cierre.getCalculoTIPO("CUENTAS DE ORDEN ACREEDORAS",mes, ano);
                        Double orden_acree_trunk = red.truncarDecimal((orden_acree));
                        Double orden_acree_dolar = red.truncarDecimal((orden_acree/tc));
                        if(orden_acree>=0)
                        {
                            out.print("<td class='negrilla centrado verde'>"+orden_acree_trunk+"</td>");
                            out.print("<td class='negrilla centrado verde'>"+orden_acree_dolar+"</td>");
                        }
                        else
                        {
                            out.print("<td class='negrilla centrado rojo'>"+orden_acree_trunk*-1+"</td>");
                            out.print("<td class='negrilla centrado rojo'>"+orden_acree_dolar*-1+"</td>");
                        }                                               
                    %>
                </tr>
                <tr>
                    <td class="negrilla" colspan="2">PATRIMONIO</td>
                </tr>
                <tr>
                    <%
                        Double patrimonio = cierre.getCalculoTIPO("PATRIMONIO",mes, ano);
                        Double patrimonio_trunk = red.truncarDecimal((patrimonio));
                        Double patrimonio_dolar = red.truncarDecimal((patrimonio/tc));
                        if(patrimonio>=0)
                        {
                            out.print("<td class='negrilla centrado verde'>"+patrimonio_trunk+"</td>");
                            out.print("<td class='negrilla centrado verde'>"+patrimonio_dolar+"</td>");
                        }
                        else
                        {
                            out.print("<td class='negrilla centrado rojo'>"+patrimonio_trunk*-1+"</td>");
                            out.print("<td class='negrilla centrado rojo'>"+patrimonio_dolar*-1+"</td>");
                        }        
                    %>
                </tr>
                <tr>
                    <td class="negrilla" colspan="6">RESULTADO:</td>
                </tr>
                <tr>
                    <%
                        Double resultado = (activotrunk*-1)-(pasivotrunk+patrimonio_trunk);
                        Double resultado_trunk = red.truncarDecimal((resultado));
                        Double resultado_dolar = red.truncarDecimal((resultado/tc));
                        
                        out.print("<td class='negrilla centrado'>"+resultado_trunk+"</td>");
                        out.print("<td class='negrilla centrado'>"+resultado_dolar+"</td>");
                        
                        Double resing = ingresorunk-egresotrunk;
                        Double resing_trunk = red.truncarDecimal(resing);
                        Double resing_dolar = red.truncarDecimal((resing/tc));
                        
                        out.print("<td class='negrilla centrado'>"+resing_trunk+"</td>");
                        out.print("<td class='negrilla centrado'>"+resing_dolar+"</td>");
                        
                        Double igual = orden_deu_trunk-orden_acree_trunk;
                        Double igual_trunk = red.truncarDecimal(igual);
                        Double igual_dolar = red.truncarDecimal((igual/tc));
                        
                        out.print("<td class='negrilla centrado' id='igualados'>"+igual_trunk+"</td>");
                        out.print("<td class='negrilla centrado'>"+igual_dolar+"</td>");
                    %>
                </tr>

            </table>
        </div>
    <footer >
        <a href="CON_COMPROBANTE_AJUSTE_INFLACIONARIO.jsp" ><img  src="../img/iconos/cierreMensual/ajusteInflacionarioNoMonetario.png" /><br/>
            AJUSTE INFLACIONARIO NO MONETARIO 
        </a>
        <a href="CON_COMPROBANTE_AJUSTE_REDONDEO.jsp" ><img src="../img/iconos/cierreMensual/ajustePorRedondeo.png" /><br/>
            AJUSTE REDONDEO
        </a>
        <a href="CON_COMPROBANTE_AJUSTE.jsp?tipo=ufv" ><img src="../img/iconos/cierreMensual/ajusteInflacionario.png" /><br/>
            AJUSTE INFLACIONARIO
        </a>
        <a href="CON_COMPROBANTE_AJUSTE.jsp?tipo=dolar" ><img src="../img/iconos/cierreMensual/AjusteDifCambio.png" /><br/>
            AJUSTE POR DIFERENCIA DE CAMBIO
        </a>
        <a onclick="generar();"><img  src="../img/iconos/Generar.png" /><br/>
            CERRAR
        </a>
     </footer>
        <div id="popUpbackGround"></div>
        <div id="popUpSucursal" class="popup">
            <span class="subTituloSubContenedor" id="cantidad"></span>
            <button onclick="generarCierre();">SI</button>
            <button onclick="cerrar();">NO</button>
        </div>
        <script type="text/javascript">
            var ano = <%out.print(ano);%>;
            var mes = <%out.print(mes);%>;
            
            function cerrar()
            {
                 $("#popUpbackGround").css("display","none");
                    $("#popUpSucursal").css("display","none");                
            }
            
            function generarCierre()
            {
                var debe = $("#total_debe").text();
               var haber = $("#total_haber").text();
               var igualadaos = $("#igualªados").text();
               if(debe==haber && igualadaos==0)
                {
                    $.post("../CON_CIERRE_MENSUAL_CONTROLLER",{proceso:"generar"},function(responsetext)
                    {
                        if(responsetext=="true")
                        {
                            alert("Se realizo el cierre del mes");
                            $(location).attr('href',"CON_CIERRE_MENSUAL.jsp");
                        }
                        else
                            alert("No se realizo el cierre del mes");
                    });
                    
                }
                else
                {
                    alert("Las operaciones contables del mes no cuadran");
                }
            }
           function generar()
           {       
                $.post("../CON_CIERRE_MENSUAL_CONTROLLER",{proceso:"ajustes",ano:ano,mes:mes},function(responsetext)
                {
                    if(responsetext=="")
                    {
                        responsetext="No se realizo ningun ajuste, desea generar el cierre?";
                        $("#popUpbackGround").css("display","block");
                        $("#popUpSucursal").css("display","block");
                        $("#cantidad").text(responsetext);
                    }
                    else
                    {
                        $("#popUpbackGround").css("display","block");
                        $("#popUpSucursal").css("display","block");
                        $("#cantidad").text("Ajustes realizados:\n"+responsetext+"\n desea generar el cierre?");
                    }
                });
           }
        </script>
    </body>
</html>